#include "stdafx.h"
#include "../core/Exception.h"

namespace ja2
{
	BasicException::BasicException(std::string const& Description)
		: m_Desc(Description)
	{
	}

	const char* BasicException::what() const throw()
	{
		return m_Desc.c_str();
	}

	//-------------------------------//

	InvalidUtf8::InvalidUtf8(std::string const &Message)
		: BasicException(Message)
	{
	}

	//-------------------------------//

	FileParsingException::FileParsingException(std::string const &Error)
		: BasicException(Error)
	{
	}

	//-------------------------------//

	RuntimeException::RuntimeException(std::string const &Error)
		: BasicException(Error)
	{
	}

	//-------------------------------//

	FileNotFoundException::FileNotFoundException(std::string const &Error, std::string const &File)
		: BasicException(Error), m_File(File)
	{
	}

	std::string const &FileNotFoundException::get_file_name() const
	{
		return m_File;
	}

	//-------------------------------//

	UnimplementedException::UnimplementedException(std::string const &Error)
		: BasicException(Error)
	{
	}
} /*ja2*/